hysop.backend.device.codegen.kernels.custom_symbolic module¶
- class hysop.backend.device.codegen.kernels.custom_symbolic.CustomSymbolicKernelGenerator(typegen, expr_info, ftype, kernel_dim, work_dim, granularity, vectorization, itype='int', use_short_circuit=None, symbolic_mode=False, debug_mode=False, tuning_mode=False, known_vars=None)[source]¶
Bases:
KernelCodeGenerator
- abstract build_expr_requirements(csc, kernel_reqs, kernel_args)[source]¶
Generate requirements and generate new expressions.
- classmethod codegen_name(work_dim, array_dim, kernel_dim, granularity, ftype, vectorization, name, direction)[source]¶
- classmethod create(expr_info, **kwds)[source]¶
Kernel generator factory that handles different expression types.
- class hysop.backend.device.codegen.kernels.custom_symbolic.SymbolicCodegenContext(typegen, expr_info, ftype, itype, vectorization, granularity, kernel_dim, use_short_circuit, work_dim, known_vars, tuning_mode, debug_mode, symbolic_mode)[source]¶
Bases:
object
Store all information required to generate custom code.